module(
  name = 'babylon',
  version = '1.4.4',
  compatibility_level = 1,
)

################################################################################
# LOWER BOUND dependency versions.
# Bzlmod follows MVS: https://bazel.build/external/module
# Thus the highest version in their module graph is resolved.
bazel_dep(name = 'abseil-cpp', version = '20220623.1', repo_name = 'com_google_absl')
bazel_dep(name = 'bazel_skylib', version = '1.0.3')
bazel_dep(name = 'boost.preprocessor', version = '1.83.0.bcr.1')
bazel_dep(name = 'boost.spirit', version = '1.83.0.bcr.2')
bazel_dep(name = 'fmt', version = '8.1.1')
bazel_dep(name = 'protobuf', version = '27.5', repo_name = 'com_google_protobuf')
################################################################################

################################################################################
# test only dependency
single_version_override(module_name = 'abseil-cpp', version = '20250814.0')
single_version_override(module_name = 'bazel_skylib', version = '1.8.1')
single_version_override(module_name = 'boost.preprocessor', version = '1.87.0')
single_version_override(module_name = 'boost.spirit', version = '1.87.0')
single_version_override(module_name = 'fmt', version = '11.2.0.bcr.1')
single_version_override(module_name = 'protobuf', version = '32.1')
bazel_dep(name = 'googletest', version = '1.17.0', repo_name = 'com_google_googletest', dev_dependency = True)
bazel_dep(name = 'platforms', version = '1.0.0', dev_dependency = True)
bazel_dep(name = 'rules_cc', version = '0.2.8', dev_dependency = True)
bazel_dep(name = 'rules_cuda', version = '0.2.5', dev_dependency = True)

# cuda toolchain
cuda = use_extension('@rules_cuda//cuda:extensions.bzl', 'toolchain', dev_dependency = True)
cuda.local_toolchain()

# cross compile toolchain
cross_config = use_extension('//:bazel/cross_toolchain.bzl', 'cross_config', dev_dependency = True)
use_repo(cross_config, 'cross_config_toolchain')
register_toolchains('@cross_config_toolchain//:cross-toolchain', dev_dependency = True)
################################################################################
